Robots are seeing widespread application in areas where non-varying tasks must be repeatedly and reliably performed. More advanced robots are capable of being programmed and reprogrammed to perform different tasks. In some cases the programming may simply be accomplished by the programmer's leading the robot by the hand, while the sequence of movement is recorded by the robot's control unit. When the robot is operated, the sequence is simply repeated over and over again and the desired task performed. Additional flexibility may be obtained in such a robot by providing the robot with a plurality of sequences, allowing it to select the appropriate sequence for the job at hand.
Obviously, such robots face the inherent limitation that the object or objects to be operated upon by the robot must be in predetermined positions. Thus, if parts are unoriented or are collected with a number of other parts in a bin, such robots are unable to pick them up without the inclusion of sensory inputs. Such sensory inputs may include vision, touch and hearing. For example, a sense of vision could guide the robot's hand to an object, a sense of touch and hearing could facilitate its grasping the object. Typically, a sense of vision is provided for a robot by using a television camera, such as a vidicon or charged-coupled device together with a computer programmed with relatively complex pattern recognition software. Typically such software would include an "edge finder" subroutine and a complicated algorithm particularly adapted for the particular part involved to convert the edge information into position commands for the robot arm.